#ifndef LEFTTABLE_H
#define LEFTTABLE_H

#include <QWidget>

class QStandardItem;
class QStandardItemModel;

//->实现左栏界面逻辑
//->包括变量：
//->包括变量：
class leftTable : public QWidget
{
    Q_OBJECT
public:
    explicit leftTable(QWidget *parent = 0);

    QStandardItemModel *model;//->数据模型

    //共有变量：节点值
    QStandardItem *item_root;//->根节点
    QStandardItem *item_68;//启动节点
    QStandardItem *item_length;//解析长度
    QStandardItem *item_control1;//控制节点总结点；
    QStandardItem *item_control11;//控制节点1
    QStandardItem *item_control12;//控制节点2
    QStandardItem *item_control13;//控制节点3
    QStandardItem *item_control14;//控制节点4
    QStandardItem *item_type;         //类型标识
    QStandardItem *item_change;   //可变结构限定词
    QStandardItem *item_transferreason;//传输原因
    QStandardItem *item_address;//公共地址

    //共有函数
   void pInitleftTable();  // 初始化letftable
   void createRootNode();//->创建根节点
   void updateLeftTable(const QString &data_parse);        //更新左边视图

   void createFirstNode(const QString &data_parse);//->创建第一个节点
    void createLengthNode(const QString &data_parse);   //->解析长度

   void createControlNode(const QString &data_parse);  //->创建控制节点
   void createControlNode1(const QString &data_parse);  //->创建控制节点1
   void createControlNode2(const QString &data_parse);  //->创建控制节点2
   void createControlNode3(const QString &data_parse);  //->创建控制节点3
   void createControlNode4(const QString &data_parse);  //->创建控制节点4

   void createTypeNode(const QString data_parse);          //解析类型标识符
   void createCanChange(const QString data_parse);         //展示可变结构限定词
   void createTransferreason(const QString data_parse);   //展示传输原因
   void createAddress(const QString data_parse);               //展示地址

private:
    void _initValue();//->每个变量都要初始化


signals:

public slots:

};

#endif // LEFTTABLE_H
